abstract class Shape{
    //定义的成员和普通类没有区别
    //抽象类不可以被实例化
    public String name;
    public abstract void draw();
    //一个方法可以被修饰为abstract，这个方法可以不被实现，被称为抽象方法
    //如果一个类包含抽象方法，则这个类必须是抽象类，没有抽象方法，也可以被称为抽象类
    //当一个类不具体描述某个对象时，可以定义为抽象类
    //抽象类也可以发生向上转型，动态绑定，多态
    //抽象方法，满足重写特点，（一定要被子类重写）被static，final，private、修饰都是不能发生重载的
    //当一个普通类A，继承了一个抽象方法，但不想重写抽象类的方法，可以把A改为一个抽象类，但如果A被B继承，则B这个类要重写所有的抽象方法
}
class Rect extends Shape{
    //普通类继承了抽象类后，要重写抽象类的方法
    @Override
    public void draw() {
        System.out.println("画一个矩形");
    }
}
public class Text1 {

    public static void main(String[] args) {

    }
}
